package com.gk.panda.apis.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.NotBlank;

/**
 * @author wym
 * @date 2022/11/4 14:40
 */
@Data
@ApiModel("Umw接收视频缩略图实体")
public class UmwCameraDto {


    //wifi模块的mac地址
    @ApiModelProperty(value = "mac地址")
    @NotBlank(message = "mac地址不可以为空")
    private String cameraCode;

    //视频创建时间，字符串(月/天/年)
    @ApiModelProperty(value = "视频创建日期")
    @NotBlank(message = "视频创建日期不可以为空")
    private String date;

    //视频创建时间，字符串(时：分：秒)
    @ApiModelProperty(value = "视频创建时间")
    @NotBlank(message = "视频创建时间不可以为空")
    private String time;

    //视频录制时长
    @ApiModelProperty(value = "视频录制时长")
    private String videoLength;

    //所录视频的分辨率
    @ApiModelProperty(value = "视频的分辨率")
    private String videoSize;

    //纬度
    @ApiModelProperty(value = "纬度")
    private String latitude;

    //经度
    @ApiModelProperty(value = "经度")
    private String longitude;

    //温度,华氏度
    @ApiModelProperty(value = "温度,华氏度")
    private String temperature;

    //视频触发模式 0-手动 1-SMS短信 wifi相机没有这一项功能，但代码结构上仍保留  2-timelapse延时 3-PIR 4-其它方式触发
    @ApiModelProperty(value = "视频触发模式")
    private String photoSource;

    //照片视频色彩类型，0-彩色（白天） 1-黑白（晚上）
    @ApiModelProperty(value = "照片视频色彩类型")
    private String colorMode;

    //从1970/01/01零点到拍照时的秒数_微秒数(秒后的零头)
    @ApiModelProperty(value = "拍照时间戳")
    private String timeStamp;

    //文件上传速率，整型(例：500表示500Kb/MS)
    @ApiModelProperty(value = "文件上传速率")
    private String uploadRate;

    //信号强度，整型，范围1-5，1表示1格信号，5表示5格信号
    @ApiModelProperty(value = "信号强度")
    private String signal;

    //电池容量，整型，范围1-10,小于4显示一格电，不能启动4G模块及发图，但会保存文件。小于7，显示两格电，小于9三格电，否则满电四格
    @ApiModelProperty(value = "电池容量")
    private String battery;

    //SD卡总容量，整型 (单位MB)
    @ApiModelProperty(value = "SD卡总容量")
    private String capacity;

    //SD卡剩余容量，整型 (单位MB)
    @ApiModelProperty(value = "SD卡剩余容量")
    private String freeSpace;

    //相机的软件版本，字符串(例：E0012-X665W.T)
    @ApiModelProperty(value = "相机的软件版本")
    private String firmware;

    //存在SD卡中的文件编号
    @ApiModelProperty(value = "存在SD卡中的文件编号")
    @NotBlank(message = "文件编号不可以为空")
    private String fileID;

    //file*:要上传的二进制文件（照片或视频文件）
    @ApiModelProperty(value = "要上传的二进制文件")
    @NotBlank(message = "视频/图片文件不可以为空")
    private MultipartFile file;

    @Override
    public String toString() {
        return "UmwCameraDto{" +
                "cameraCode='" + cameraCode + '\'' +
                ", date='" + date + '\'' +
                ", time='" + time + '\'' +
                ", videoLength='" + videoLength + '\'' +
                ", videoSize='" + videoSize + '\'' +
                ", latitude='" + latitude + '\'' +
                ", longitude='" + longitude + '\'' +
                ", temperature=" + temperature +
                ", photoSource=" + photoSource +
                ", colorMode=" + colorMode +
                ", timeStamp=" + timeStamp +
                ", uploadRate=" + uploadRate +
                ", signal=" + signal +
                ", battery=" + battery +
                ", capacity=" + capacity +
                ", freeSpace=" + freeSpace +
                ", firmware='" + firmware + '\'' +
                ", fileID=" + fileID +
                '}';
    }
}
